package com.fengycx.service;

import com.fengycx.param.DriverConfirmOrderDto;
import com.fengycx.pojo.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fengycx.pojo.dto.CreateOrderDto;
import com.fengycx.pojo.dto.OderBillDto;
import com.fengycx.pojo.dto.Order2DriverDto;
import com.fengycx.pojo.vo.OrderDetailVo;
import com.fengycx.pojo.vo.PointVo;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author Cino
 * @since 2024-03-09
 */
public interface IOrderService extends IService<Order> {

    String createOrder(CreateOrderDto createOrderParam);

    void cancelOrder(String orderNo);

    Order queryProcessingOrder();

    List<Order2DriverDto> pullOrder2Driver();

    Order grabOrder(String orderNo);

    Order reshowProcessingOrder();

    Order endDrivingHandle();

    Order arriveStartPlaceHandle();

    Order startDrivingHandle();

    Order orderInfo(String orderNo);

    PointVo pullDriverLocation(String orderNo);

    OrderDetailVo getOrderDetail(String orderNo);

    void driverConfirmOrder(DriverConfirmOrderDto confirmDto);

    OderBillDto payOrderSend(String orderNo);

    void driverSendPayOrder(String orderNo);
}
